﻿using PlaceOrder_Shared.Models.KChartRelated;
using PlaceOrder_Shared.Models.Trade;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PlaceOrder_Shared.Models.Daily
{
    public class DailyData
    {
        public string TsCode { get; set; }
        public DateTime LatestTradeDate { get; set; } = DateTime.MinValue;
        public DateTime LatestBidDate { get; set; } = DateTime.MinValue;
        public DateOnly LatestTradeDateOfKChartNoForward { get; set; } = DateOnly.MinValue;
        public DateOnly LatestTradeDateOfKChartForward { get; set; } = DateOnly.MinValue;
        public DateTime LatestDateOfOneMinuteForward { get; set; } = DateTime.MinValue;
        public decimal OneMinuteForwardClosePrice { get; set; }
        public DateTime LatestDateOfOneMinuteNoForward { get; set; } = DateTime.MinValue;
        public decimal OneMinuteNoForwardClosePrice { get; set; }
        public DateTime LatestDateOfFiveMinuteForward { get; set; } = DateTime.MinValue;
        public decimal FiveMinuteForwardClosePrice { get; set; }
        public DateTime LatestDateOfFiveMinuteNoForward { get; set; } = DateTime.MinValue;
        public decimal FiveMinuteNoForwardClosePrice { get; set; }
        public DateTime LatestDateOfOneMinutePriceDiffForward { get; set; } = DateTime.MinValue;
        public decimal OneMinutePriceDiffForwardClosePrice { get; set; }
        public DateTime LatestDateOfOneMinutePriceDiffNoForward { get; set; } = DateTime.MinValue;
        public decimal OneMinutePriceDiffNoForwardClosePrice { get; set; }
        public DateTime LatestDateOfOneMinutePriceDiffForward2 { get; set; } = DateTime.MinValue;
        public decimal OneMinutePriceDiffForward2ClosePrice { get; set; }
        public DateTime LatestDateOfOneMinutePriceDiffNoForward2 { get; set; } = DateTime.MinValue;
        public decimal OneMinutePriceDiffNoForward2ClosePrice { get; set; }
        public DateOnly LatestTradeDateOfPriceDiffKChartNoForward { get; set; } = DateOnly.MinValue;
        public DateOnly LatestTradeDateOfPriceDiffKChartNoForward2 { get; set; } = DateOnly.MinValue;
        public decimal LastDayCloseForward { get; set; }
        public decimal LastDayCloseNoForward { get; set; }
        public List<BidHistory> BidHistory { get; set; } = new List<BidHistory>();
        public List<TradeHistoryRow> StoredTrade { get; set; } = new List<TradeHistoryRow>();
        public List<BidHistory> BidsToSave { get; set; }
        public List<TradeHistoryRow> TradesToSave { get; set; }
        public List<KChartMinute> kChartsToSave { get; set; }
        public KChart DailyChartToSave { get; set; }
        public int TotalTurnover { get; set; }
        public decimal Interval { get; set; }
    }
}
